{{tag>Lucid apache2 git}}
----

====== cgit ======

cgit est une interface web pour les dépots git

===== Pré-requis =====

  * Disposer des [[:sudo|droits d'administration]].
  * Disposer d'une connexion à Internet configurée et activée.
  * Avoir [[:tutoriel:comment_installer_un_paquet|installé le paquet]] **[[apt://git-core|git-core]]**.
  * Avoir déjà installé et configuré [[:apache2|apache2]].
  * Avoir [[:tutoriel:comment_installer_un_paquet|installé le paquet]] **[[apt://libapache2-mod-perl2|libapache2-mod-perl2]]**.

===== Installation =====

Ouvrez un terminal et placez-vous dans votre répertoire home :
  cd ~

Téléchargez la dernière version de cgit sur [[http://hjemli.net/git/cgit/]].
Par exemple, si la dernière version est la version 0.8.3.3, téléchargez l'archive **cgit-0.8.3.3.tar.gz** :
  wget http://hjemli.net/git/cgit/snapshot/cgit-0.8.3.3.tar.gz

Décompressez l'archive :
  tar -zxvf cgit-0.8.3.3.tar.gz

Placez-vous dans le nouveau dossier qui vient d'être créé :
  cd cgit-0.8.3.3

Contruisons maintenant cgit :
  make get-git
  make

Avant d'installer cgit, nous allons devoir créer un fichier de configuration pour demander à l'installateur de placer les fichiers cgit dans des endroits approprié :
  cat <<'EOF' > cgit.conf
  CGIT_SCRIPT_PATH = /var/www/htdocs/cgit/cgi-bin
  CGIT_DATA_PATH = /var/www/htdocs/cgit
  EOF

Installez cgit :
  sudo make install

Trois fichiers viennent d'être installés :
  * /var/www/htdocs/cgit/cgit.css
  * /var/www/htdocs/cgit/cgit.png
  * /var/www/htdocs/cgit/cgi-bin/cgit.cgi

===== Configuration =====

Configurons maintenant apache pour qu'il prenne en considération cgit :
  cat <<'EOF' | sudo tee /etc/apache2/conf.d/cgit
  Alias /git /var/www/htdocs/cgit/cgi-bin
  
  <Directory /var/www/htdocs/cgit/cgi-bin>
    Options FollowSymLinks +ExecCGI
    AddHandler cgi-script .cgi
    DirectoryIndex cgit.cgi
    
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^.* /git/cgit.cgi/$0 [L,PT]
  </Directory>
  EOF

Si ce n'est pas déjà fait, activez mod_rewrite :
  sudo a2enmod rewrite

Redémarrez apache :
  sudo /etc/init.d/apache2 restart

Nous considérons à partir d'ici que tous vos dépots git sont stockés dans le dossier **/home/git/**.

Si /home/git/ n'existe pas :
  sudo mkdir /home/git/

Nous allons maintenant configurer cgit pour qu'il prennent en compte vos dépots git ainsi que l'emplacement des images et des css.
  cat <<'EOF' | sudo tee /etc/cgitrc
  logo=/cgit/cgit.png
  css=/cgit/cgit.css
  scan-path=/home/git
  enable-index-links=1
  virtual-root=/git/
  EOF


===== Utilisation=====

C'est terminé, vous pouvez vérifier que votre interface web fonctionne :
  xdg-open http://localhost/git

Si certains dépots git ne se trouvent pas dans le dossier /home/git/, vous pouvez les y ajouter virtuellement à l'aide cette commande :
  sudo ln -s /emplacement/de/votre/application/myapp /home/git/myapp
Ou bien:
  sudo ln -s /emplacement/de/votre/application/myapp/.git /home/git/myapp
Les deux reviennent au même.

===== Désinstallation =====

Pour désinstaller cgit :
  cd ~/cgit-0.8.3.3
  sudo make uninstall
  sudo rmdir /var/www/htdocs/cgit/cgi-bin
  sudo rmdir /var/www/htdocs/cgit
  sudo rm /etc/cgitrc /etc/apache2/conf.d/cgit

===== Voir aussi =====

  * **(en)** [[http://hjemli.net/git/cgit/|Site officiel]]


----
//Contributeurs principaux : [[:utilisateurs:Metathink]].//